﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UricaoWeb.Datos.ConexionBD.Restaurantes;
using UricaoWeb.LogicaDeNegocios.Restaurantes;

namespace UricaoWeb.Presentacion
{
    public partial class API_restaurante_Modificar_Restaurante : System.Web.UI.Page
    {


        public static int fkHotel = 1;
    protected static Restaurante restauranteAmodificar;


        protected void Page_Load(object sender, EventArgs e)
        {

            if (!Page.IsPostBack)
            {

                if (Request.QueryString["idRestaurante"] != null)
                {
                    DatosRestaurante fuenteDatos = new DatosRestaurante();

                    try
                    {


                        restauranteAmodificar = fuenteDatos.restaurantePorId(int.Parse(Request.QueryString["idRestaurante"]));

                        nombreRestaurante.Text = restauranteAmodificar.NombreRestaurante;
                        tipoRestaurante.Text = restauranteAmodificar.TipoRestaurante;

                        //cuidado. stackoverflow.com/questions/22745661/how-to-set-the-value-of-a-textbox-textmode-date-asp-net-c-sharp
                        String.Format("yyyy-MM-dd", restauranteAmodificar.AperturaRestaurante);
                        //Agregar texbox con activo restaurante
                        activoRestaurante.Text = restauranteAmodificar.ActivoRestaurante ? "Activo" : "Inactivo";
                        numeroTelefonicoRestaurante.Text = restauranteAmodificar.TelefonoRestaurante;
                        CapacidadMaximaRestaurante.Text = restauranteAmodificar.CapacidadRestaurante.ToString();


                    }
                    catch (Exception excepcion)
                    {
                        //Error. problema. Validacion personalizada si no se encuentra en la BD.
                        //Error. Parseando de string a Int
                    }

                }
                else
                {
                    // Response.Redirect("~/Presentacion/API_restaurante_Consultar.aspx");
                    System.Windows.Forms.MessageBox.Show("ERROR");

                }
            }


        }

        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {

        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            //TextBox1.Text = "Prueba con boton 2222";
        }


        protected void Boton_Enviar(object sender, EventArgs e)
        {
            System.Windows.Forms.MessageBox.Show("En Click boton enviar");
         
            //Empiezo a validar
            
            if (ValidarDatosRestaurante.noEsCampoVacio(nombreRestaurante.Text))
            {
                if ( (ValidarDatosRestaurante.noEsCampoVacio(tipoRestaurante.Text) ))
                {
                    if (ValidarDatosRestaurante.esTelefono(numeroTelefonicoRestaurante.Text))
                    {
                        if ((ValidarDatosRestaurante.noEsCampoVacio(CapacidadMaximaRestaurante.Text)))
                        {
                            if ((ValidarDatosRestaurante.noEsCampoVacio(CapacidadMaximaRestaurante.Text)))
                            {
                                if (ValidarDatosRestaurante.esNumero(CapacidadMaximaRestaurante.Text))
                                {
                                    if (ValidarDatosRestaurante.esCapacidadRestauranteAceptable(CapacidadMaximaRestaurante.Text))
                                    {
                                        //Oido, no he verificado formato
                                        //formato? dd-MMM-yy


                                        //Si todos lso datos son correctos:

                                              DateTime tiempoActual = DateTime.Now ;

                                                DatosRestaurante DatosRestaurante= new DatosRestaurante();

                                                int numeroCapacidadMaxima = Convert.ToInt32(CapacidadMaximaRestaurante.Text);
                                                int numeroTelefonico = Convert.ToInt32(CapacidadMaximaRestaurante.Text);
                                                DatosRestaurante.conectar();

                                        //llamo a modificar restaurante. Uso idRestaurante del global.

                                                Boolean status;
                                                if (activoRestaurante.Text.Equals("Activo")) status = true;
                                                //cuidado!!
                                                else status = false;
                                               
                                        

                                                DateTime fechaInicio = Convert.ToDateTime(fechaApertura.Text);
                                                DateTime fechaFin = fechaInicio;

                                                DatosRestaurante.ModificarRestaurante
                                                    ( restauranteAmodificar.IdRestaurante,
                                                        fkHotel, nombreRestaurante.Text, numeroTelefonicoRestaurante.Text
                                                    , tipoRestaurante.Text, numeroCapacidadMaxima, fechaInicio, fechaFin, status);


                                                 
                                                  // DatosRestaurante.InsertarRestaurante(MODIFICAR, nombreRestaurante.Text, numeroTelefonicoRestaurante.Text
                                                  //                                  , tipoRestaurante.Text, numeroCapacidadMaxima, tiempoActual, tiempoActual, true);

                                                DatosRestaurante.Desconectar();


                                                System.Windows.Forms.MessageBox.Show("Funciona");

                                                /* Insertar en la BD contenidos de la pagina:
                                                    tipoRestaurante
                                                    numeroTelefonicoRestaurante
                                                    nombreRestaurante
                                                    CapacidadMaximaRestaurante;
                                                 */
                                    }
                                    else
                                    {
                                        //Error Capacidad restaurante
                                    }
                                }
                                else
                                {
                                    //Error. Capacidad del restaurante debe ser un numero
                                }
                    
                            }
                            else
                            {
                                //Error. Capacidad del restaurante debe ser especificada
                            }
                        }
                        else
                        {
                            //OJO VALIDACION REPETIDA. Capacidad del restaurante debe ser especificada. 
                        }
                    }
                    else
                    {
                            //ERROR. El telefono NO cumple con la mascara 
                    }
                }
                else
                {
                            //Error. Tipo restaurante campo vacio.
                }

            }
            else
            {
                //Error. Nombre restaurante campo vacio.
            }

        

        
        }


        protected void nombreRes_TextChanged(object sender, EventArgs e)
        {

            System.Windows.Forms.MessageBox.Show("guat");


        }

        protected void nombreRestaurante_TextChanged(object sender, EventArgs e)
        {

        }

        protected void numeroTelefonicoRestaurante_TextChanged(object sender, EventArgs e)
        {

        }

        protected void tipoRestaurante_TextChanged(object sender, EventArgs e)
        {

        }

        protected void CapacidadMaximaRestaurante_TextChanged(object sender, EventArgs e)
        {

        }

        protected void fechaApertura_TextChanged(object sender, EventArgs e)
        {

        }







    }
}